package com.company.oa.hr.service.training;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.company.oa.hr.dto.training.CourseDTO;
import com.company.oa.hr.entity.training.Course;

import java.util.List;
import java.util.Map;

public interface CourseService extends IService<Course> {
    
    /**
     * 分页查询培训课程列表
     */
    IPage<Map<String, Object>> getCoursePage(int page, int size, Course course);
    
    /**
     * 创建培训课程
     */
    boolean createCourse(CourseDTO courseDTO);
    
    /**
     * 更新培训课程
     */
    boolean updateCourse(CourseDTO courseDTO);
    
    /**
     * 删除培训课程
     */
    boolean deleteCourse(Long id);
    
    /**
     * 获取培训计划下的所有课程
     */
    List<Course> getPlanCourses(Long planId);
    
    /**
     * 开始培训课程
     */
    boolean startCourse(Long id);
    
    /**
     * 结束培训课程
     */
    boolean endCourse(Long id);
    
    /**
     * 取消培训课程
     */
    boolean cancelCourse(Long id);
} 